import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

/**
 * @ClassName ListDemo01
 * @Description List接口中常用方法
 * @Author Li
 * @Date 2022/8/5 8:58
 * @ModifyDate 2022/8/5 8:58
 * @Version 1.0
 */
public class ListDemo01 {
    public static void main(String[] args) {
        // 创建List集合对象
        List<String> list = new ArrayList<>();
        // 添加指定元素
        list.add("张三");
        list.add("李四");
        list.add("王二");
        list.add("麻子");

        System.out.println(list);
        // public void add(int index, E element)：将指定的元素，添加到该集合中的指定位置上
        // 在索引 1 位置添加 赵五 元素
        list.add(1,"赵五");
        System.out.println(list);
        System.out.println("===============================");
        // public E remove(int index)：移除列表中指定位置的元素，返回的是被移除的元素
        // 删除集合中索引为 2 的元素
        String removeE = list.remove(2);
        System.out.println("索引2被删除的元素是：" + removeE);
        System.out.println(list);
        System.out.println("===============================");
        // public E set(int index, E element)：用指定元素替换集合中指定位置的元素，返回更新前的元素
        // 用元素 钱六 替换集合中索引为 3 的元素
        String setE = list.set(3, "钱六");
        System.out.println("索引3原元素为：" + setE);
        System.out.println(list);
        System.out.println("===============================");
        // public E get(int index)：返回集合中指定位置的元素
        // 用三种方式遍历集合
        System.out.println("简单for循环遍历：");
        for (int i = 0; i <list.size(); i++){
            String s = list.get(i);
            System.out.println(s);
        }
        System.out.println("增强for循环遍历：");
        for (String s : list) {
            System.out.println(s);
        }
        System.out.println("迭代器遍历：");
        Iterator<String> it = list.iterator();
        while(it.hasNext()) {
            String s = it.next();
            System.out.println(s);
        }
    }
}
